const mongoose = require('mongoose');
const Schema = mongoose.Schema
const ObjectId = Schema.Types.ObjectId;  //  可以存储任何类型的数据

//  定义movie数据类型的Schema
const categorySchema = new Schema({
    name:{
        unique:true,
        type:String
    },
    movies:[{
        type:ObjectId,
        ref:'Movie'
    }],
    meta:{
        createAt:{
            type:Date,
            default:Date.now()
        },
        updatedAt:{
            type:Date,
            default:Date.now()
        }
    }
})

//  在保存数据save之前进行对时间的操作
categorySchema.pre('save',next=>{
    if(this.isNew){
        this.meta.createAt = this.meta.updatedAt = Date.now()
    }else{
        this.meta.updatedAt = Date.now()
    }
    next()
})

const CategoryModel = mongoose.model('Category',categorySchema)

module.exports =  CategoryModel